package com.sbpm.crmbpm.client.providers;

import com.google.gwt.editor.client.Editor;
import com.sbpm.crmbpm.shared.data.TaskInfo;
import com.sencha.gxt.core.client.ValueProvider;
import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;

import java.util.Date;


public interface TaskInfoProperties extends PropertyAccess<TaskInfo>
{

    @Editor.Path("id")
    ModelKeyProvider<TaskInfo> key();

    @Editor.Path("name")
    LabelProvider<TaskInfo> nameLabel();


    ValueProvider<TaskInfo, Long> id();

    ValueProvider<TaskInfo, String> name();

    ValueProvider<TaskInfo, String> statusId();

    ValueProvider<TaskInfo, Integer>  priority();

    ValueProvider<TaskInfo, String> actualOwnerId();

    ValueProvider<TaskInfo, String> createdById();

    ValueProvider<TaskInfo, Date>  createdOn();

    ValueProvider<TaskInfo, Date>  activationTime();

    ValueProvider<TaskInfo, Date>  expirationTime();

    ValueProvider<TaskInfo, String> processId();

    ValueProvider<TaskInfo, Long> processInstanceId();

    ValueProvider<TaskInfo, String> deploymentId();

    ValueProvider<TaskInfo, Long> parentId();
    ValueProvider<TaskInfo, String> subject();

    ValueProvider<TaskInfo, String> description();

    ValueProvider<TaskInfo, String> status();

    ValueProvider<TaskInfo, Boolean> isSkipable();

    ValueProvider<TaskInfo, String> actualOwner();

    ValueProvider<TaskInfo, String> createdBy();

    ValueProvider<TaskInfo, Integer> getProcessSessionId();

    ValueProvider<TaskInfo, Boolean>  isQuickTaskSummary();
}
